package com.mjf.scala.chapter04

import scala.io.StdIn

/**
 * 分支
 */
object Scala01_If {

  def main(args: Array[String]): Unit = {

    println("请输入年龄：")
    val age: Int = StdIn.readInt()

    // 单分支
    /*    if (age < 18) {
          println("童年")
        }*/

    // 双分支
    /*    if (age < 18) {
          println("童年")
        } else {
          println("成年")
        }*/

    // 多分支
    /*    if (age < 18) {
          println("童年")
        } else if (age > 18 && age < 40) {
          println("中年")
        } else {
          println("老年")
        }*/

    // 分支语句返回值
    // 分支语句是由返回值的，具体返回什么，和满足条件的分支语句块中的最后一行代码有关
/*    val res: String = if (age < 18) {
      "童年"
    } else if (age > 18 && age < 40) {
      "中年"
    } else {
      "老年"
    }
    println(res)*/

    // 每个分支的返回值类型不一样时，那么取他们共同的祖先类型
/*    val res: Any = if (age < 18) {
      "童年"
    } else if (age > 18 && age < 40) {
      "中年"
    } else {
      100
    }
    println(res)*/

    // 案例：通过if else 模拟实现三元运算符   res = 条件表达式?值1:值2
    // 如果大括号{}内的逻辑代码只有一行，大括号可以省略。
    val res: String = if (age < 18) "童年" else "成年"
    println(res)

  }

}
